<?php

if ( isset($_REQUEST['cmd']) ) $cmd = $_REQUEST['cmd'];
else                           $cmd = null;

/**
 *  CLAROLINE MAIN SETTINGS
 */

require '../../claroline/inc/claro_init_global.inc.php';

require_once 'lib/portfolio.lib.php';
require_once 'lib/classes/modele.class.php';
require_once 'lib/classes/grille.class.php';
require_once 'lib/classes/elementGrille.class.php';
require_once 'lib/classes/saisie.class.php';

$modele = new Modele();
$modele->load($_REQUEST['modele_id']);

$grille = new Grille();
$grille->setFicheId($_REQUEST['modele_id']);

$element = new ElementGrille();

$saisie = new Saisie();


$is_allowedToEdit  = true;

if (!$is_allowedToEdit)
claro_redirect('PORTFOL/evaluation.php?modele_id='.$_REQUEST['modele_id']);

$nameTools = "Portfolio";

// Fonctions javascript
$htmlHeadXtra[] = '<script type="text/javascript" src="lib/jquery.js"></script>';
$htmlHeadXtra[] = '<script type="text/javascript" src="lib/editionPortfolio.js"></script>';
$htmlHeadXtra[] = '<link rel="stylesheet" type="text/css" href="css/portfolio.css" />';


// Création d'une nouvelle grille
if ($cmd == "exCreerGrille")
{
	$grille->setTitre($_REQUEST['titre']);
	$grille->setDescription($_REQUEST['description']);
	$grille->setRessource($_REQUEST['ressource']);
	$grille->setRessourceUrl($_REQUEST['ressource_url']);
	$grille->setApparence($_REQUEST['apparence']);
	$grille->setOrdre($grille->chercheNouvelOrdre());
	$grille_id = $grille->save();
	
	if ($grille_id)
	{
		// Colonne
		$element->setGrilleId($grille_id);
		$element->setOrdre("1");
		$element->setType("1");
		$element->setNom($nom_colonne_defaut);
		
		$element->save();
		
		// Ligne
		$element = new ElementGrille();
		$element->setGrilleId($grille_id);
		$element->setOrdre("1");
		$element->setType("2");
		$element->setNom($nom_ligne_defaut);
		
		if ($grille->getApparence() == 'questions')
		{
			$element->setTypeReponse('texte');
		}
		
		$element->save();
	}
}


if ($cmd == "rqCreerGrille")
{
	$dialogBox .= "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">"
			."<input type=\"hidden\" name=\"cmd\" value=\"exCreerGrille\">"
			."<input type=\"hidden\" name=\"modele_id\" value=\"".$_REQUEST['modele_id']."\">"
			."<label for=\"comment\">".get_lang('New grid title')."</label>"
			."<br><input type=\"text\" name=\"titre\"><br><br>"
			."<label for=\"comment\">".get_lang('New grid description')."</label><br>"
			.claro_html_textarea_editor('description', '',12,67)
			."<br><label for=\"comment\">".get_lang('Ressource URL')."</label>"
			."<br><input type=\"text\" name=\"ressource_url\"><br>"
			."<label for=\"comment\">".get_lang('Ressource name')."</label>"
			."<br><input type=\"text\" name=\"ressource\"><br>"
			."<br><label for=\"comment\">".get_lang('Display type')."</label>"
			."<br><input type=\"radio\" name=\"apparence\" value=\"tableau\" checked>".get_lang('Grid')
			."<br><input type=\"radio\" name=\"apparence\" value=\"questions\">".get_lang('Question / answer')
			."<br><br><input style=\"font-weight: bold\" type=\"submit\" value=\"".get_lang('OK')."\"></form>";
}



include get_path('incRepositorySys').'/claro_init_header.inc.php';

$titleElement['mainTitle'] = get_lang("Portfolio");
echo claro_html_tool_title($titleElement,false);

echo  "<a class='claroCmd' href=\"../index.php?partie=Exp\">"
	     ."<img src=\"img/back.gif\" alt=\"\"> "
	            .get_lang('Back to list')
	            ."</a>\n";

echo " | <a class='claroCmd' href=\"".$_SERVER['PHP_SELF']."?cmd=rqCreerGrille&modele_id=".$_REQUEST['modele_id']."\">"
	   ."<img src=\"".$imgRepositoryWeb."plus.gif\" alt=\"\"> "
	   .get_lang('Create new grid')
	   ."</a>\n"
	   .'<div id="fiche_'.$_REQUEST['modele_id'].'" class="fiche">'
	   .'<h2>'.$modele->getNom().'<img src="'.$imgRepositoryWeb.'edit.gif"></h2>';

if ($dialogBox)
{
	echo claro_html_message_box($dialogBox);
}



// On affiche les grilles
foreach ($grille->chercherListeGrilles() as $cetteGrille)
{
	$grille->load($cetteGrille['grille_id']);

	
	echo '<table id="grille_'.$grille->getGrilleId().'"  class=';
	
	if ($grille->getApparence() == 'tableau')
	echo '"claroTable">';
	else
	echo '"questions">';
	
	if (!$grille->getTitre())
	$titre = get_lang('No title');
	else
	$titre = $grille->getTitre();
	
	if (!$grille->getDescription())
	$description = get_lang('No description');
	else
	$description = $grille->getDescription();

	if (!$grille->getRessource())
	$ressource = get_lang('No ressource');
	else
	$ressource = $grille->getRessource();

	echo '
				<caption>
					<p>
					<img src="'.$imgRepositoryWeb.'group.gif" alt="'.get_lang('Class limitation').'" title="'.get_lang('Class limitation').'" class="limitationClasse"> |
							<img src="img/new_row.gif" alt="'.get_lang('Add new line').'" class="newRow" title="'.get_lang('Add new line').'"> |	';

	if ($grille->getApparence() == 'tableau')
	echo '<img src="img/new_col.gif" alt="'.get_lang('Add new column').'" class="newCol" title="'.get_lang('Add new column').'"> | ';

	echo '
							<img src="img/top.gif" title="'.get_lang('Move up').'" class="monterGrille">  |
							<img src="img/bottom.gif" title="'.get_lang('Move down').'" class="baisserGrille">  |
							<img src="'.$imgRepositoryWeb.'delete.gif" alt="'.get_lang('Delete').'" class="deleteGrille" title="'.get_lang('Delete').'">
					</p>
					<h3>'.$titre.'<img src="'.$imgRepositoryWeb.'edit.gif"></h3>
					<span class="modifierDescription">'.$description.'<img src="'.$imgRepositoryWeb.'edit.gif"></span><br>
					<label for="ressource"><a href="'.$grille->getRessourceUrl().'" taget="_blank">'.$ressource.'</a></label>
				<img src="'.$imgRepositoryWeb.'edit.gif" class="modifierRessource" style="cursor:pointer">
					<br>
				</caption>
	';
	
	
	// Liste des éléments de la liste
	$element->setGrilleId($grille->getGrilleId());
	$liste_elements = $element->chercherListeElements();
	
	if ($liste_elements && $grille->getApparence() == 'tableau')
	{
		echo '<thead>
					<tr class="headerX">
						<th></th>';
	}	
	
	unset ($liste_colonnes);
	unset($tbody);
	
	foreach ($liste_elements as $cetElement)
	{
		$element->load($cetElement['element_id']);

		
		// Colonnes
		if ($element->getType() == 1)
		{
			if ($grille->getApparence() == 'tableau')
			echo '<th id="elem_'.$element->getElementId().'">'
					  .'<span class="editerElement">'.$element->getNom().'<img src="'.$imgRepositoryWeb.'edit.gif"></span><br>'
					  .'<img src="img/back.gif" class="monterElement">'
					  .'<img src="img/delete.gif" class="deleteElement">'
					  .'<img src="img/next.gif" class="baisserElement">'
				 	  .'</th>';
			$liste_colonnes[]=$element->getElementId();
		}

		// Lignes
		if ($element->getType() == 2)
		{
			if (!isset($tbody))
			{
				echo '</tr></thead><tbody>';
				$tbody=true;
			}
			
			echo '<tr id="elem_'.$element->getElementId().'">'
						.'<td><span class="editerElement">'.$element->getNom().'<img src="'.$imgRepositoryWeb.'edit.gif"></span><br>'
					  		.'<img src="img/top.gif" class="monterElement">'
					  		.'<img src="img/delete.gif" class="deleteElement">'
					  		.'<img src="img/bottom.gif" class="baisserElement">'						
						.'</td>';
			$id_element = $element->getElementId();
			for ($i=0;$i<count($liste_colonnes);$i++)
			{
				echo '<td>'.chercheTypeReponse($liste_colonnes[$i],$id_element).'</td>';
			}		
			echo '</tr>';	
		}
	}
	
	echo '</tbody></table>';
} 

echo '</div>';

include get_path('incRepositorySys').'/claro_init_footer.inc.php';
?>	  
